package com.sg.dto.biz.calc.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @desc ImplementCalcFormualReceivingField002ReqDto
 * @使用场景
 */
@Data
public class ImplementCalcFormualReceivingField002ReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 自定义字段1
     */
    @NotNull(message = "自定义字段1不能为空")
    @ApiModelProperty("自定义字段1")
    private String customField1;

    /**
     * 自定义字段2
     */
    @NotNull(message = "自定义字段2不能为空")
    @ApiModelProperty("自定义字段2")
    private String customField2;
    /**
     * 进度值
     */
    @ApiModelProperty("进度值")
    private Double progressValue;

    /**
     * 进度参照值
     */
    @ApiModelProperty("进度参照值")
    private Double refProgressValue;
    /**
     * 实际参照值
     */
    @ApiModelProperty("实际参照值")
    private Double refActualValue;

    /**
     * 实际值
     */
    @ApiModelProperty("实际值")
    private Double actualValue;
    /**
     * 目标得分
     */
    @NotNull(message = "目标得分不能为空")
    @ApiModelProperty("目标得分")
    private Double targetScore;

    /**
     * 达成度
     */
    @ApiModelProperty("达成度")
    private Double reach;

    /**
     * 数据是否准备完整 TRUE:是 FALSE:否
     */
    @NotNull(message = "数据是否准备完整不能为空")
    @ApiModelProperty("数据是否准备完整")
    private String dataCompletePreparation;
    /**
     * 其他树进度值
     */
    @NotNull(message = "其他树进度值不能为空")
    @ApiModelProperty("其他树进度值")
    private Double otherProgressValue;
    /**
     * 其他树实际值
     */
    @ApiModelProperty("其他树实际值")
    private Double otherActualValue;
    /**
     * 其他树目标得分
     */
    @NotNull(message = "其他树目标得分不能为空")
    @ApiModelProperty("其他树目标得分")
    private Double otherTargetScore;

    /**
     * 其他树达成度
     */
    @ApiModelProperty("其他树达成度")
    private Double otherReach;
    /**
     * 其他树数据是否准备完整 TRUE:是 FALSE:否
     */
    @ApiModelProperty("其他树数据是否准备完整")
    private String otherDataCompletePreparation;
    /**
     * 自定义字段3
     */
    @NotNull(message = "自定义字段3不能为空")
    @ApiModelProperty("自定义字段3")
    private String customField3;

    /**
     * 自定义字段4
     */
    @NotNull(message = "自定义字段4不能为空")
    @ApiModelProperty("自定义字段4")
    private String customField4;
    /**
     * 目标得分十位精度
     */
    @ApiModelProperty("目标得分十位精度")
    private Double targetScoreTen;
    @ApiModelProperty("标准数据列表 ")
    List<String> standardDataList = new ArrayList<>();

}
